package com.ruoyi.business.domain;

import java.math.BigDecimal;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目标准对象 t_project_standard
 * 
 * @author lcz
 * @date 2025-02-23
 */
@Data
@ApiModel("项目标准对象")
public class ProjectStandard extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目标准ID */
    @ApiModelProperty("项目标准ID")
    private Long id;

    /** 一年级 */
    @Excel(name = "一年级")
    @ApiModelProperty("一年级")
    private BigDecimal gradeOne;

    /** 二年级 */
    @Excel(name = "二年级")
    @ApiModelProperty("二年级")
    private BigDecimal gradeTwo;

    /** 三年级 */
    @Excel(name = "三年级")
    @ApiModelProperty("三年级")
    private BigDecimal gradeThree;

    /** 四年级 */
    @Excel(name = "四年级")
    @ApiModelProperty("四年级")
    private BigDecimal gradeFour;

    /** 五年级 */
    @Excel(name = "五年级")
    @ApiModelProperty("五年级")
    private BigDecimal gradeFive;

    /** 六年级 */
    @Excel(name = "六年级")
    @ApiModelProperty("六年级")
    private BigDecimal gradeSix;

    /** 等级ID */
//    @Excel(
//            name = "等级ID",
//            handler = CustomExcelHandler.class,
//            args = {"projectType"} // 传递 projectType 作为参数
//    )
    @Excel(name = "等级" ,readConverterExp = "1=优秀,2=良好,3=及格,4=不及格")
    @ApiModelProperty("等级ID")
    private String gradeId;

    /** 单项得分 */
    @Excel(name = "单项得分")
    @ApiModelProperty("单项得分")
    private Long singleScore;

    /** 性别（0：女，1：男） */
    @Excel(name = "性别", readConverterExp = "0=女,1=男")
    @ApiModelProperty("性别（0：女，1：男）")
    private String gender;

    /** 项目类型 */
    @Excel(name = "项目类型",readConverterExp = "1=身高体重,2=肺活量,3=座位体前屈,4=50米快速跑,5=中长跑,6=仰卧起坐,7=立定跳远,8=跳绳")
    @ApiModelProperty("项目类型")
    private String projectType;

    /** 等级名称 */
    @Excel(isExport = false)
    @ApiModelProperty("等级名称")
    private String gradeName;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("gradeOne", getGradeOne())
            .append("gradeTwo", getGradeTwo())
            .append("gradeThree", getGradeThree())
            .append("gradeFour", getGradeFour())
            .append("gradeFive", getGradeFive())
            .append("gradeSix", getGradeSix())
            .append("gradeId", getGradeId())
            .append("gradeName", getGradeName())
            .append("singleScore", getSingleScore())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("gender", getGender())
            .append("projectType", getProjectType())
            .toString();
    }
}
